package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * RcObligacion generated by hbm2java
 */
@Entity
@Table(name = "RC_OBLIGACION", schema = "RUC")
public class RcObligacion implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -7368425755657724434L;
	private RcObligacionId id;
	private RcRuc rcRuc;
	private TbObligacion tbObligacion;
	private TbTermino tbTermino;
	private Date fobligacion;
	private String cusuario;
	private Date ftermino;
	private String mproceso;
	private String nfolio;

	public RcObligacion() {
	}

	public RcObligacion(RcObligacionId id, RcRuc rcRuc,
			TbObligacion tbObligacion, TbTermino tbTermino, Date fobligacion,
			String cusuario) {
		this.id = id;
		this.rcRuc = rcRuc;
		this.tbObligacion = tbObligacion;
		this.tbTermino = tbTermino;
		this.fobligacion = fobligacion;
		this.cusuario = cusuario;
	}

	public RcObligacion(RcObligacionId id, RcRuc rcRuc,
			TbObligacion tbObligacion, TbTermino tbTermino, Date fobligacion,
			String cusuario, Date ftermino, String mproceso, String nfolio) {
		this.id = id;
		this.rcRuc = rcRuc;
		this.tbObligacion = tbObligacion;
		this.tbTermino = tbTermino;
		this.fobligacion = fobligacion;
		this.cusuario = cusuario;
		this.ftermino = ftermino;
		this.mproceso = mproceso;
		this.nfolio = nfolio;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "nit", column = @Column(name = "NIT", nullable = false, length = 14)),
			@AttributeOverride(name = "cobligacion", column = @Column(name = "C_OBLIGACION", nullable = false, length = 2)),
			@AttributeOverride(name = "fhingreso", column = @Column(name = "FH_INGRESO", nullable = false, length = 7)) })
	public RcObligacionId getId() {
		return this.id;
	}

	public void setId(RcObligacionId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "NIT", nullable = false, insertable = false, updatable = false)
	public RcRuc getRcRuc() {
		return this.rcRuc;
	}

	public void setRcRuc(RcRuc rcRuc) {
		this.rcRuc = rcRuc;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "C_OBLIGACION", nullable = false, insertable = false, updatable = false)
	public TbObligacion getTbObligacion() {
		return this.tbObligacion;
	}

	public void setTbObligacion(TbObligacion tbObligacion) {
		this.tbObligacion = tbObligacion;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_TERMINO", nullable = false)
	public TbTermino getTbTermino() {
		return this.tbTermino;
	}

	public void setTbTermino(TbTermino tbTermino) {
		this.tbTermino = tbTermino;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_OBLIGACION", nullable = false, length = 7)
	public Date getFobligacion() {
		return this.fobligacion;
	}

	public void setFobligacion(Date fobligacion) {
		this.fobligacion = fobligacion;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_TERMINO", length = 7)
	public Date getFtermino() {
		return this.ftermino;
	}

	public void setFtermino(Date ftermino) {
		this.ftermino = ftermino;
	}

	@Column(name = "M_PROCESO", length = 2)
	public String getMproceso() {
		return this.mproceso;
	}

	public void setMproceso(String mproceso) {
		this.mproceso = mproceso;
	}

	@Column(name = "N_FOLIO", length = 12)
	public String getNfolio() {
		return this.nfolio;
	}

	public void setNfolio(String nfolio) {
		this.nfolio = nfolio;
	}

        public void setId(RcObligacion findByRcObligacion) {
            this.id = id;
        }

}
